/*!
 * @file Rectangle.h
 * @author naoki takeda
 * @version 1.0
 */
#ifndef INCLUDED_NTEngine_MATH_RECTANGLE_H
#define INCLUDED_NTEngine_MATH_RECTANGLE_H

namespace NTEngine
{
namespace Math
{

class Rectangle
{
public:
	int x; //!< 
	int y; //!< 
	int w; //!< 
	int h; //!< 

	/*!
	 * @brief 
	 */
	Rectangle(){ }

	/*!
	 * @brief 
	 */
	Rectangle(int x, int y, int w, int h);

	/*!
	 * @brief 
	 */
	Rectangle(const Rectangle&);

	/*!
	 * @brief 
	 */
	void operator=(const Rectangle&);

	/*!
	 * @brief 
	 */
	bool operator==(const Rectangle&) const;
	bool operator!=(const Rectangle&) const;

	/*!
	 * @brief 
	 */
	bool contains(int x, int y) const;
	bool contains(int x, int y, int w, int h) const;
	bool contains(const Rectangle&) const;

	/*!
	 * @brief 
	 */
	void set(int x, int y, int w, int h);
};

} // namespace Math
} // namespace NTEngine

#endif // INCLUDED_NTEngine_MATH_RECTANGLE_H
// EOF